// Definição do Mod ID
const MOD_ID = "inventorypets";

// Função auxiliar
const isBanned = (id) => id.startsWith(`${MOD_ID}:`);

// 1. Remover Receitas
ServerEvents.recipes(event => {
    event.remove({ mod: MOD_ID });
});

// 2. Remover Loot (Mobs, Blocos e Baús)
LootJS.modifiers(event => {
    event.addLootTypeModifier([LootType.ENTITY, LootType.BLOCK, LootType.CHEST])
        .removeLoot(loot => isBanned(loot.id));
});

// 3. Bloquear Interação (Direita)
ItemEvents.rightClicked(event => {
    if (isBanned(event.item.id) && !event.player.isCreative()) {
        event.cancel();
        event.player.tell(Text.red("❌ Este item está desabilitado."));
        event.item.count = 0;
    }
});

// 4. Bloquear Pickup (Chão)
ItemEvents.pickedUp(event => {
    if (isBanned(event.item.id) && !event.player.isCreative()) {
        event.cancel();
        event.item.count = 0;
    }
});

// 5. Varredura de Inventário Otimizada
function clearBannedItems(player) {
    if (player.isCreative()) return;
    let inventory = player.inventory;
    let changed = false;

    for (let i = 0; i < inventory.size(); i++) {
        let item = inventory.get(i);
        if (!item.isEmpty() && isBanned(item.id)) {
            inventory.set(i, Item.empty);
            changed = true;
        }
    }
    if (changed) {
        player.tell(Text.yellow("⚠️ Item ilegal removido."));
    }
}

PlayerEvents.loggedIn(event => clearBannedItems(event.player));

PlayerEvents.tick(event => {
    if (event.player.server.tickCount % 100 == 0) { // Roda a cada 5 segundos
        clearBannedItems(event.player);
    }
});